A social networking service is an online service, platform, or site that focuses on facilitating the building of social networks or social relations among people who may share interests, activities, real-life connections, or backgrounds. A social network service consists of a representation or profile for each user, his/her social links, and a variety of additional services. Most social network services are web-based and provide a way for users to interact over the internet, such as e-mail and instant messaging. Social networking sites allow users to share ideas, activities, events, and interests within their individual networks. Popular social networking services include Facebook™, Google +™, Twitter™, LinkedIn™, YouTube™, Foursquare™, Yelp™, Expedia™, MySpace™, and Flickr™. An individual may use many social networking sites, each which enable the individual to interact with other users via countless social network communications, or network feeds. Some social networking systems are enterprise social networking systems, which are increasingly becoming a common way to facilitate communication among people, any of whom can be recognized as users of the social networking system. One example of an enterprise social networking system is Chatter®, provided by salesforce.com, inc. of San Francisco, Calif.
In some social networking systems, users can access one or more social network feeds, which include information updates presented as items or entries in the feed. Such a feed item can include a single information update or a collection of individual information updates. A feed item can include various types of data including character-based data, audio data, image data and/or video data. A social network feed can be displayed in a graphical user interface (GUI) on a display device such as the display of a computing device. The information updates can include various social network data from various sources and can be stored in an on-demand database service environment.
The social networking systems generate personalized feeds which are delivered to various users and/or accessed by applications and processes for providing value added services or analytics based on these feeds. In some exemplary implementations, to provide a low-latency service the social networking systems buffer the feeds in tables. This process may be referred to as feed materialization where a materialized view of the feed is generated. The materialized view may be buffered to be viewed by the user upon request or alternatively may be pushed to the user by the social networking system. Social networking systems see a significant increase in the number of their users as well as the number of feeds that an entity, be it a user or an application, would like to view or access. Materializing all possible feeds of users of a social networking system is a time consuming task that would require significant storage and computing resources.